home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Collections: Franz PD
/
Franz PD Disk #193 (1992)(Rhein-Sieg-Soft).zip
/
Franz PD Disk #193 (1992)(Rhein-Sieg-Soft).adf
/
GFA.Anwendung
/
BANNER.LST
< prev
next >
Wrap
File List
|
1992-09-14
|
5KB
|
128 lines
REM *********************************
REM * Spruchbanddruck 1.00 *
REM * © 26.4.1992 by Henry König *
REM * Bornheide 71, 2000 Hamburg 53 *
REM *********************************
init ! Bildschirm und Fenster öffnen
programmkopf ! Bildschirm löschen u. Programmnamen ausgeben
PRINT AT(7,28);"Banner_V1.00. © 1992 by Henry König, Bornheide 71, 2 Hamburg 53"
banner.drucken ! Hauptprozedur
CLOSES 1 ! Bildschirm schließen
CLOSEW #1 ! Fenster schließen
END ! und zurück zur WB
PROCEDURE banner.drucken ! die eigentliche Druckroutine
y$="j" ! Eingangswert für die Schleife
dateiname$="RAM:pr.weg" ! Dateiname zum Zwischenspeichern
zeichen$="#" ! Zeichen für die Schrift
WHILE y$="j" !
programmkopf
zeile$="" ! alte Textzeile löschen
PRINT AT(1,5);"Text: ";
INPUT text$ ! Text abfragen
lg%=LEN(text$)*8 ! Textlänge
CLR ho% ! Schrifthöhe löschen
WHILE ho%<1 OR ho%>10
PRINT AT(1,7);"Texthöhe max. 80 Zeichen: ";
INPUT x$ ! Texthöhe abfragen
ho%=INT(VAL(x$)/10) !
IF ho%>5 THEN !
br%=2 ! Zeichenbreite verdoppeln
ELSE
br%=1 ! einfache Zeichenbreite
ENDIF
WEND
CLS ! Bildschirm löschen
PRINT text$ ! Text anzeigen
OPEN "O",#1,dateiname$ ! Ausgabedatei öffnen
FOR x%=1 TO lg% ! Textlänge *8
FOR b%=1 TO 8 ! Höhe
pixel%=POINT(x%,8-b%) ! gesetzen Punkt vom Bildschirm lesen
IF pixel%<>0 THEN ! Punkt gesetzt?
zeile$=zeile$+STRING$(ho%,zeichen$)
ELSE ! kein Punkt gesetzt
zeile$=zeile$+STRING$(ho%," ")
ENDIF
NEXT b%
PRINT #1,zeile$ ! in Datei schreiben
zeile$=""
NEXT x%
CLOSE #1 ! Datei schließen
programmkopf
PRINT AT(4,31);"Der Text benötigt ca.: ";(br%*lg%)/72;" Seiten."
PRINT AT(4,28);"Spruchband drucken (j/n): ";
INPUT x$
IF x$="j" THEN ! ja, dann drucken
OPEN "I",#1,dateiname$ ! Text einlesen
OPEN "O",#2,"PRT:" ! Drucker öffnen
FOR x%=1 TO lg% !
LINE INPUT #1,zeile$ ! Zeile einlesen
FOR b%=1 TO br%
PRINT #2,zeile$
NEXT b%
NEXT x%
CLOSE ! Datei und Ausgabegerät schließen
ENDIF
programmkopf
PRINT AT(4,28);"Noch ein Spruchband drucken (j/n): ";
INPUT y$
IF y$<>"j" THEN ! kein Druck mehr
KILL dateiname$ ! dann Hilfsdatei löschen
ENDIF
WEND
RETURN
PROCEDURE programmkopf ! Bildschirm löschen u. Programmnamen ausgeben
CLS
COLOR 2 ! schwarze Box
PBOX 1,1,639,20
COLOR 0 ! grau
PBOX 6,4,633,17
COLOR 4 ! hellgrau
LINE 6,4,633,4
LINE 6,4,6,17
PRINT AT(2,2);SPACE$(78)
PCOLOR 5,0
PRINT AT(25,2);"Druckprogramm für Spruchbänder"
PCOLOR 1,0
programmfuss
RETURN
PROCEDURE programmfuss ! Anweisungsboxen zeichnen
COLOR 2 ! schwarz
PBOX 1,(27*8)-10,639,(32*8) ! schwarze Box
COLOR 0 ! grau
PBOX 6,(27*8)-7,633,(28*8)+4 ! graue Box
PBOX 6,(29*8)+2,633,(32*8)-4 ! 2. graue Box
COLOR 4 ! hellgrau
BOX 7,(27*8)-7,633,(32*8)-3
LINE 7,(29*8)+2,633,(29*8)+2
LINE 16,(29*8)-6,639-16,(29*8)-6
LINE 16,(29*8)+5,639-16,(29*8)+5
LINE 639-16,(29*8)-6,639-16,(26*8)+4 ! senkrechter Strich
LINE 16,(29*8)+5,16,(31*8)+2 ! senkrechter Strich
COLOR 2 ! schwarz
LINE 7,(32*8)-3,633,(32*8)-3 ! schwarze Linie
LINE 633,(27*8)-7,633,(32*8)-3
LINE 16,(27*8)-4,639-16,(27*8)-4
LINE 16,(31*8)+2,639-16,(31*8)+2
LINE 16,(29*8)-6,16,(26*8)+4 ! senkrechter Strich
LINE 639-16,(29*8)+5,639-16,(31*8)+2 ! senkrechter Strich
RETURN
PROCEDURE init ! Bildschirm öffnen
breite%=640 ! Screenbreite
hoehe%=256 ! Screenhöhe
ebenen%=3 ! 3 Bitplanes
OPENS 1,0,0,breite%,hoehe%,ebenen%,&H8000
OPENW #1,0,0,breite%,hoehe%,&H18,&H1800,1
farben.setzen ! Farbpalette setzen
RETURN
PROCEDURE farben.setzen ! Farben für Bildschirm
SETCOLOR 0,5,5,5 ! grau statt blau
SETCOLOR 1,15,15,15 ! weiß bleibt
SETCOLOR 2,0,0,0 ! schwarz erhalten
SETCOLOR 3,15,5,0 ! rot bleibt
SETCOLOR 4,10,10,10 ! hellgrau inverse Farbe im Filerequester
SETCOLOR 5,15,15,0 ! gelb
SETCOLOR 6,0,0,0 ! schwarz = Inverse Farbe im Filerequester
RETURN
REM ! damit beim Kopieren der Interpreter nicht
REM ! abstürzt